#ifndef BAE_H_
#define BAE_H_

#include <iostream>

#include "Typedefs.h"
#include "Data.h"
#include "Result.h"


using namespace std;

class Bae
{

private:
	Data	data_;
	Mat	sum_;
	int	m_;
	int	n_;

	void	compute_prefix_sum();
	void	compute_prefix_sum_trans();

public:
	Bae(const Data data);

	virtual ~Bae(){};

	const	Mat& getPrefixSum() const;
	void 	dispPrefixSum();
	void	bae_algo(Result& result);
	void	bae_algo_alternative(Result& result);
};

#endif /* BAE_H */
